<?php
/*
itemnum    学生进行随机练习的答题量
itemid     题目编号
openid     微信用户标识

在home/conf/conf.php中开启了全局模版变量，如果不需要进行模版替换的时候用layout(false);控制。
*/
namespace Home\Controller;
use  Common\Controller\MyInitController;
class CollectController extends MyInitController {
    public function index(){
			
		$Collect  = D('collect');
		$Question = M("questionbank");
		$openid   = $this->openid;
		$collects = array();

		/*======获取标记题目======*/		
		!strlen($openid) || $collect = $Collect->where("openid='{$openid}'")->select();
		//var_dump($collect);
		$que_type = $Question->distinct(true)->field('que_type')->select();
		foreach($collect as $c){			
			foreach($que_type as $q){
				$item_que_type =  $Question->where("id=".$c['itemid'])->getField("que_type");			
				if($item_que_type == $q["que_type"]) $collects[$q["que_type"]][]=$c;
			}
		}			

		$this->assign("openid",$openid);
		$this->assign("collects",$collects);
		$this->display();		
    }
	/*
	在前台我们使用post方法向reView传值，然后reView方法会返回Random的页面以供用户答题。
	由于在其他控制器调用index方法时不会进行前置和后置操作，故需$Random->_before_index();操作。
	同时，我们在这里不需要Random返回的页面中有菜单、状态条等布局，故使用layout(false);关闭模版布局。
	标记的题和错误的题都会post自己的Action的url，并传值给random的index方法，如果这样做，答题完成后会出现
	Back按钮，返回至传入的url（会默认返回到标记的题）。
	*/
	public function reView(){
		if(IS_AJAX){
			/*=========定义变量=======*/
            $itemid = I('post.itemid');          			
			$Random = A("Random");
			$action = I("post.action");
			$type   = I("post.action");
			$backurl = U("collect/".$action);
			layout(false);
			$Random->_before_index();
			$Random->callback_action=	$backurl;
			$Random->index($itemid,$type=$action,$backurl);
        }
		else $this->error('非法的请求方式'); 	
	}
	public function wrong(){
		
		$this->_before_index();
		$openid = $this->openid;
		$Answer   = D('answer');
		
		$answer   = $Answer->distinct(true)->field('itemid')->where("openid = '{$openid}' AND right_lab = 0")->order("itemid")->select();
		foreach($answer as $key=>$value){
			$rightcount   = $Answer->where("itemid = '{$value['itemid']}' AND right_lab = 0")->count();
			$wrongcount   = $Answer->where("itemid = '{$value['itemid']}' AND right_lab = 1")->count();
			$labinfo["itemid"] = $value['itemid'];
			$labinfo["rightcount"] = $rightcount;
			$labinfo["wrongcount"] = $wrongcount;
			$labinfos[]= $labinfo;
		}
		$this->assign("labinfos",$labinfos);
		
		$this->display();
		
	}
	public function test($a='',$type='111'){
	
	}
	
	
}




?>